The present invention relates to non-linear editing systems. More specifically, the present invention relates to non-linear editing systems which provide reference clips to be employed within edit sequences.
Non-linear editors (NLE""s) are well known and examples include the SOFTIMAGE/DS and AVID Media Composer products sold by the assignee of the present invention. Such systems are timeline-based where clip objects representing the material being edited are positioned and manipulated with respect to a timeline to create an output sequence for the work being created. Conventional NLE systems have permitted video, computer generated graphics, audio and, indirectly, film media to be edited and various effects to be applied to the media.
One of the challenges with NLE systems is the amount of the data which must be managed by the system. For example, a typical sequence will include many clip objects, including: a variety of video clips, representing different video sources; a variety of audio clips, again representing different audio sources; a variety of effects clips, applied at different times to different ones of the audio and video clips; and a variety of clips such as those representing animation curves for effects, parameters relating to compositing, paint strokes, etc. Even a sequence producing just a few minutes of playback can have hundreds of clip objects defined for it, those clip objects being inter-related in complex manners. Accordingly, the storage space required for the clip objects and their inter-relationships, referred to collectively herein as xe2x80x9cmetadataxe2x80x9d, of a sequence constructed with an NLE system can quickly become very large. At the same time, it is desired to provide an interactive editing environment wherein a user can interact with a sequence and/or view the results of changes made to the sequence in real time and thus the metadata for a sequence is typically read into RAM memory to provide the necessary fast access.
However, this requires large amounts of RAM and, due to the size and complexity of the metadata, loading a sequence into an NLE system can require a significant period of time.
It is an object of the present invention to provide a novel NLE system for, and method of, constructing sequences which obviates or mitigates at least one of tie disadvantages of prior art NLE systems.
According to one aspect of the present invention, there is provided a method of constructing a sequence in an non-linear editing system, comprising the steps of:
(i) constucting a set of metadata defining a child sequence providing at least one output stream of data:
(ii) storing said metadata defining said child sequence such that it is persisted;
(iii) creating at least one reference clip for placement in a parent sequence, said at least one reference clip including a reference to said child sequence and to at least a selected one of said at least one output stream of data;
(iv) placing said at least one reference clip in a parent sequence such that said metadata defining said child sequence is not loaded into memory prior to playback of said parent sequence, but during playback of said parent sequence, at least said selected one of said at least one output streams of data is included in said playback.
According to another aspect of the present invention, there is provided a non-linear edit system, for constructing an edit sequence, comprising:
at least one processor;
a user input means operable to receive input from a user and provide said input to said at least one processor, said input comprising the definition of metadata to define a child sequence including at least one selected output;
storage means to store said metadata defining said child sequence;
output means to display a clip object representing said child sequence to said user, said user selecting and placing said clip object in said edit sequence with said input means;
playback means to output the result of said edit sequence including said child sequence, said playback means not loading said metadata defining said child sequence but including said at least one selected output in said playback.
The present invention provides an NLE system and method of constructing sequences which employs reference clips. Reference clips are employed in a parent sequence like conventional clip objects but include a reference to a persisted child sequence and do not require the loading of the child sequence into memory. As the reference in the reference clips is much smaller in size than the metadata defining the child sequence, an often significant reduction in the amount of memory required to load the parent sequence can be obtained, as can a significant reduction in the time required to load the parent sequence as its complexity and size is reduced.
In addition, the present invention allows child sequences to be persisted separately from a parent sequence. This allows multiple instances of reference clips for a child sequence to be employed in a parent sequence, or in two or more parent sequences. This also allows versioning and version control of child sequences, as well as novel representations of sequences at varying levels of detail, and interoperaion with toolsets that work with one type of data to produce an output stream.